// 题意：给出圆上2*k个点，连上若干条弦，使得每个点都上都有弦连接，
//       问圆最少划分成多少块，且在划分最小的情况下，划分的方案数。
//
// 题解：比较简单的组合数学题，推出递推就行。也不会超long long。
// 
#include <iostream>

int const maxn = 100;
long long f[maxn];
int k;

long long calc(int x)
{
	if (f[x]) return f[x];
	long long sum = 0;
	for (int i = 0; i <= x-2; i += 2) {
		sum += calc(i) * calc(x - 2 - i);
	}
	return f[x] = sum;
}

int main()
{
	std::cin >> k;
	f[0] = 1;
	std::cout << calc(2*k) << ' ' << k + 1 << '\n';
}

